home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1997 February / Software of the Month Club 1997 February.iso / pc / dos / sri / edu / alged33 / algedfra.hlp < prev    next >
Encoding:
Text File  |  1996-04-23  |  19.4 KB  |  391 lines

  1.              Aide en ligne pour ALGED Algebra Editor
  2.  
  3. Copyright (c) 1994,1996 John Henckel
  4.  
  5. L'autorisation d'utiliser, copier, modifier, distribuer et vendre ce logiciel
  6. et sa documentation pour n'importe quelle raison que ce soit est accordée
  7. gratuitement sous réserve que la présente notice de copyright apparaisse sur
  8. chaque copie et qu'elle apparaisse aussi en même temps que cette notice
  9. d'autorisation dans la documentation de support.  Tous les programmes contenus
  10. ici sont livrés "tels quels".  Les garanties implicites de vente et
  11. d'adaptation pour un usage particulier sont expressément exclues.
  12.  
  13. ----------------------------------------------------------------------------
  14.  
  15. Je m'appelle John Henckel (internet:  henckel@vnet.ibm.com).  Je suis un
  16. passionné de micro; J'aime écrire des programmes pour m'amuser et ALGED est
  17. l'un d'entre eux.  Je recommande aussi mon programme simulateur de collision en
  18. 2D "Impact" que l'on trouve dans SinTel/msdos/simulatn.  Merci à ma famille de
  19. me laisser travailler sur ce sujet.  Merci à mon manager à IBM Rochester
  20. Minnesota de me permettre d'offrir ce programme gratuitement au public.
  21.  
  22. Alged est un outil pur les mathématiques symboliques, aussi j'ai volontairement
  23. éviter les algorithmes qui font appel à la puissance du micro pour faire du
  24. "number crunching".  Alged est un programme pour résoudre des problèmes
  25. d'algèbre.  Il y a d'autres programmes qui peuvent effectuer des manipulations
  26. de formules symboliques, par exemple MathCad ou Mathematica.
  27.  
  28.  Les avantages d'Alged sont :
  29.     * C'est gratuit ! Le source des programmes est gratuit aussi !
  30.     * Peu de ressources demandées ( il tourne sur un PC/XT de 256 Mb)
  31.     * Facile à utiliser, idéal pour l'éducation
  32.     * Graphiques en 2D et 3D rapides et faciles à mettre en oeuvre.
  33.     * Peut être personnalisé et traduit dans d'autres langues.
  34.  
  35. Bien sûr, il existe des limites.  Alged n'a rien d'un programme "commercial"
  36. (pourtant, j'ai vu pire !) Alged ne traite pas les matrices, les séries, les
  37. intégrales, les dérivées ou les transformations transcendentales.  Les nombres
  38. imaginaires ne sont supportés que pour les cinq opérations de base (addition,
  39. soustraction, multiplication, division et exponentiation).
  40.  
  41. Alged est un outil pur les mathématiques symboliques, aussi j'ai volontairement
  42. éviter les algorithmes qui font appel à la puissance du micro pour faire du
  43. "number crunching".
  44.  
  45. Vous pouvez consulter le fichier alged.doc pour un apprentissage rapide du
  46. produit.
  47. ----------------------------------------------------------------------------
  48. Instructions pour l'entrée des données.
  49.  
  50.  L'écran Alged possède un menu en haut et une zone de travail en bas.
  51. En bas à gauche, l'heure est indiquée, et le pourcentage de mémoire utilisée.
  52. (Quand la mémoire atteint les 100%, Alged s'arrête.)
  53.  On manipule les formules dans la zone de travail en cliquant sur des parties
  54. d'entre elles puis en cliquant sur une fonction dans le menu.
  55.  On clique sur le bouton gauche de la souris dans la zone de travail pour
  56. sélectionner l'expression courante, appelée PRISE. La Prise est
  57. mise en double brillance.
  58.  On clique sur le bouton droit de la souris dans la zone de travail pour
  59. sélectionner l'expression CLE. La Clé est copiée au bas de l'écran. Noter
  60. qu'il est possible de cliquer sur la Clé au bas de l'écran, de sorte que la
  61. Prise peut être une sous-entité de la Clé.
  62.  Pour se déplacer dans la zone de travail, on peut cliquer sur la bordure
  63.  du bas de l'écran.
  64.  
  65. Si votre micro n'a pas de souris, (ou si vous avez décidé de ne pas vous en
  66. servir, utiliser les touches [Page Haut], [Page Bas] et [Fin] pour sélectionner
  67. la Prise.  Ces touches descendent dans l'arbre hiérarchique du fichier stocké
  68. en mémoire.  On peut copier la Prise vers la Clé en tapant '.' .  On peut
  69. lister la Clé en tapant 'k'.  On peut copier la Clé sur la zone de travail en
  70. tapant la touche [Inser].  On peut annuler la Clé en tapant sur [Entrée].  Pour
  71. se déplacer dans la zone de travail, on peut utiliser les touches avec des
  72. flèches.
  73.  
  74. Quelques opérations sur le menu utilisent seulement la Prise, d'autres
  75. utilisent à la fois la Prise et la Clé.  A moins d'une autre explication, les
  76. descriptions du menu ci dessus s'appliquent uniquement à la Prise.
  77. ----------------------------------------------------------------------------
  78. Description du Menu :
  79.  
  80. Simplifie [barre d'espace] : simplifie l'expression. Cette fonction trie
  81. l'expression, combine les termes communs, calcule les nombres et la réécrit
  82. sous forme canonique.
  83.   Note : Une fonction similaire est SimpStep qui est assignée à la touche de
  84. fonction 'x'. La fonction SimpStep montre les étapes intermédiaires de la
  85. simplification.
  86.  
  87. Distribue [d] distribue la multiplication sur les additions et les
  88. soustractions et distribue les exposants sur la multiplication et la division.
  89.  
  90.   Note: Une autre fonction similaire est DistChild qui est assignée au
  91. caractère 'D' (appuyer sur Maj et 'd'). La fonction DistChild est différente
  92. pour deux raisons.
  93.     1. DistChild fait une distribution du haut vers le bas. Par exemple,
  94.            (x*(a + b))^2  --->  (x^2)*(a + b)^2    avec  DistChild
  95.            (x*(a + b))^2  --->  (x*a + x*b)^2      avec  Distribue
  96.     2. DistChild ne distribue pas les facteurs majeurs dans une expression
  97. ou une équation. On peut utiliser DistChild pour simplifier le resultat
  98. d'une mise en facteurs, comme FactPoly ou FactQuad.
  99.  
  100. Calcule [c] calcule tous les nombres ex: 3*2 => 6.
  101.  
  102. FactPrem [v] trouve la mise en facteurs premiers de nombres entiers.  (Ceci est
  103. est limité par l'option ?d du fichier de personnalisation Alged.1st)
  104.  
  105. Entiers [i] convertit les nombres réels en entiers, si possible.  ex > 1.5 =>
  106. 3/2 Cet algorithmes a deux stratégies différentes.  Tout d'abord, il cherche
  107. des séquences répétitives dans la partie fractionnaire du nombre.  Au moins
  108. deux chiffres répétés doivent être significatifs.  Si cela ne marche pas, il
  109. cherche un nombre entier, d, tel que d*x soit un entier.  Les paramètres
  110. utilisateurs ?e et ?d du fichier Alged.1st sont utilisés ici.
  111.  
  112. Associe [a] permute les éléments dans un groupe associatif.
  113.  
  114. Déno-Comm [m] Est une fonction à bascule pour créer un dénominateur commun ou
  115. pour distribuer la division sur les additions et les soustractions.
  116.  
  117. Mode Car  [8] Bascule les codes ascii 7 bits vers 8 bits ou vice-versa.
  118. Ceci est pratique si l'on utilise l'impression d'écran.
  119.  
  120. Coef-Poly [p] collecte les coefficients d'un polynôme.  La Prise doit
  121. être un polynôme (pas une équation) et la Clé doit être l'expression
  122. utilisée comme base du polynôme.
  123. ex. Prise : a*x + b*x + c, Clé : x ==> le resultat est c + (a + b)*x
  124.  
  125. Centrer [home] centre horizontalement les formules (valeur par défaut).
  126.  
  127. Div-Poly [\] division polynomique. La Prise doit être une division (pas
  128. une équation) et le numérateur doit être un polynôme de degré supérieur
  129. ou égal à celui du dénominateur. La Clé doit être la variable de base.
  130. ex: Prise : (x^2 - y^2)/(x - y) et Clé : x. ==> Le résultat est x + y.
  131.  
  132. FactQuad [q] Met en facteurs un polynôme de degré 2 en utilisant l'équation
  133. quadratique. La Prise doit être un polynôme de degré 2 et non une équation. La
  134. Clé doit être la variable de base.
  135. ex:  Prise : (x^2 - y^2) et  Clé :  x. ==> Le résultat est (x + y)(x - y).
  136.  
  137. FactCubic [3] Met en facteurs un polynôme de degré 3 en utilisant l'équation
  138. cubique.  La Prise doit être un polynôme de degré 3 (pas une équation) La Clé
  139. doit être la variable de base.
  140. ex:  Prise : (x^3 - y^3) et Clé : x. ==> Résultat (après Entiers et
  141. plusieurs fonctions Calcule et Simplifie ) :
  142.          (x - y)*(x + (0.5 - 0.86i)*y)*(x + (0.5 + 0.86i)*y).
  143.  
  144.   Note:  Cette fonction ne marche pas très bien. Elle donne parfois une
  145.   réponse fausse et parfois utilise toute la mémoire. Le problème se rencontre
  146.   avec des racines non singulières. N'utilisez cette fonction qu'en dernier
  147.   ressort.
  148.  
  149. Fact-Poly [f] Met en facteurs un polynôme en utilisant les racines
  150. rationnelles.  La Prise doit être un polynôme (pas une équation).  La Clé doit
  151. être la variable de base.
  152. Ex : Prise : (x^4 - y^4) et Clé :   x.  ==> Résultat :
  153.                      (x - y)(x + y)(x^2 + y^2).
  154.  
  155. Substitue [u] Réalise la substitution basée sur la Clé appliquée sur la Prise.
  156. La Clé doit être une équation.
  157. Ex : Prise :  a*x + b  et Clé  : x = y - 1
  158.   ==> Résultat :  a*(y - 1) + b.
  159.  
  160.   Notes: Le type de la Clé peut être une expression, mais on peut avoir
  161.   besoin de changer l'association sur la Prise de façon à faire fonctionner
  162.   la substitution. On peut réaliser ceci avec la fonction Egal-Clé : Pour
  163.   remplacer la Prise par la Clé, taper =u.
  164.  
  165. ^N Etend [n] étend les exposants entiers Ex : x^3 ==> x*x*x
  166.  
  167. JointExp [j] joint les  exposants de la base commune. Ceci est la
  168. fonction inverse de Distribue pour les exposants.
  169.  
  170. Egal-Clé [=] Change la Clé en une équation en utilisant la Prise.
  171. Ni la Prise ni la Clé ne doivent être une équation avant cette opération.
  172.  Ex : Prise : x + y, Clé : z ==> Clé résultante x + y = z
  173.  
  174.   Note: On peut utiliser  = et u pour remplacer la Prise par la Clé.
  175.  
  176. Add-Clé [+] ajoute la Clé à la Prise.
  177.      Notes   Si la Prise est une équation, la Clé est ajoutée
  178.      aux deux côtés. Si la Clé est une équation, les côtés correspondants
  179.      sont ajoutés à la Prise. Si la Prise ou la Clé ne sont pas une équation,
  180.      la Clé est à la fois ajoutée et retranchée à la Prise.
  181.      Ex :  Prise : x, Clé : y ==> résultat : x + y - y.
  182.  
  183. Sub-Clé [-] soustrait la Clé à la Prise.  Voir notes sur Add-Clé.
  184.  
  185. Mult-Clé [*] multiplie la Prise par la Clé.  Voir notes on Add-Clé.
  186.  
  187. Div-Clé [/] divise la Prise par la Clé.  Voir notes sur Add-Clé.
  188.  
  189. Exp-Clé [e] Monte la Prise à la puissance Clé. Voir notes sur Add-Clé.
  190.  
  191. EffaceDeb [suppr] Efface l'expression en haut de l'écran.
  192.  
  193. EntrerClé [k] demande la saisie d'une nouvelle Clé.  On doit taper la Clé
  194. et appuyer sur F6 Entrée quand on a terminé.
  195. (La touche de fonction F6 peut produire un ^Z, mais si cela ne fonctionne
  196. pas, on peut alors appuyer sur ctrl-z.). On peut utiliser soit une notation
  197. "infix" soit "postfix" en fonction de l'option ?f du fichier alged.1st.
  198.  
  199.   Exemple "Infix" z = (x^2 + y^2)^.5.
  200.  
  201.   Exemple "Postfix"  z x 2 ^ y 2 ^ + .5 ^ =.
  202.   On ne peut pas utiliser de parenthèses. Les symboles doivent être
  203. séparés par des blancs.
  204.  
  205.   Note:  On peut utiliser EntrerClé pour taper tout ce qui peut exister
  206.   dans un fichier de données (extension .ae). Ceci s'applique aussi aux
  207.   commentaires visibles (") et aux options utilisateurs telles que ?m 41.
  208.   (Exception: on ne peut pas changer les drivers bgi avec ?g, mais on peut
  209.   changer le mode ou la palette de couleurs). L'option ?f ne prend pas
  210.   effet avant la fin du fichier.
  211.   Utiliser la fonction InsèreClé pour ajouter la nouvelle Clé à l'expression.
  212.  
  213. InsèreClé [Inser] Copie la Clé à la liste des expressions en cours.
  214.  
  215. EffacTout [Alt-e] efface toutes les expressions de la zone de travail
  216. (sauf la Clé)
  217.  
  218. DebugMode [Alt-d] Vide la liste arborescente de la Prise à des fins de
  219. corrections du programme.
  220.  
  221. Charge [l] Charge d'autres expressions à partir d'un fichier.
  222.  Note: Les expressions en cours ne sont pas effacées.
  223.  
  224. Sauve [s] Sauvegarde la liste des expressions sur un fichier. La Clé
  225. n'est pas sauvegardée.
  226.  
  227. Ecrit [w] Ecrit la liste des expressions en notation "postfix". Cette
  228. fonction n'est pas très utile sauf si vous aimez la notation "postfix".
  229. Je l'ai laissée parce qu'elle se trouvait déjà dans alged version 2.1.
  230.  
  231. EgalDroit ']' Déplace l'opérande de droite depuis la partie gauche d'une
  232. équation vers la partie droite.
  233. Exemple: Si la Prise est x + y = 3, le résultat est x = 3 - y.
  234.  
  235. EgalGauch '[' Déplace l'opérande de gauche depuis la partie gauche d'une
  236. équation vers la partie droite.
  237. Exemple: Si la Prise est x + y = 3, le résultat est y = x + 3.
  238.  
  239. Graph [g] Passe l'écran en mode graphique et trace la fonction.
  240.  Appuyer sur F1 pour avoir l'aide en ligne sur les touches de fonction en
  241. mode graphique.
  242.  Pour utiliser les graphiques, il faut un adaptateur vidéo CGA, EGA, VGA ou
  243. Hercules et on doitavoir le fichier bgi correspondant (par ex EGAVGA.BGI)
  244. dans le répertoire courant. Alged détecte automatiquement le mode voulu
  245. parmi les quatre cités. S vous voulez utiliser un autre fichier bgi, indiquez
  246. le avec l'option ?g du fichier alged.1st.
  247.  
  248. -----------------------------------------------------------------------------
  249. Commentaires généraux.
  250.  
  251. Si vous appréciez Alged ou avez des suggestions, envoyez moi un message sous
  252. Internet. Je ne demande pas d'argent, mais j'aime recevoir des messages !
  253.  
  254. Quand on démarre Alged à partir de la ligne de commande DOS, on peut
  255. spécifier un ou plusieurs fichiers de données à charger. Alged charge
  256. toujours en premier le fichier ALGED.1ST. Il est donc conseillé de mettre
  257. dans ce fichier les options de personnalisation pour Alged, mais on peut
  258. aussi y mettredes formules mathématiques. Voir le fichier ALGED.1ST pour
  259. avoir la liste des options de personnalisation utilisées par Alged.
  260. Alged utilise le mode vidéo courant; si on désire le changer, il faut
  261. taper par exemple MODE co80,43 (le driver ANSI.SYS peut être nécessaire
  262. pour cette commande).
  263.  
  264. L'algorithme de visualisation utilisé par ALGED n'est pas parfait; par
  265. exemple, dans l'expression :
  266.                1       2
  267.               ----    y
  268.                 2  + ----
  269.                x      b
  270.  
  271. les barres de fractions devraient être sur la même ligne. On peut les
  272. y forcer en sélectionnant l'option ?y=0 dans le fichier ALGED.1ST, mais cela
  273. entraîne d'autres conséquences qui peuvent être gênantes.
  274.  
  275. Quand on clique sur une expression avec la souris, la façon de le faire
  276. est évidente. Il existe une exception pour les exponentielles.
  277. Pour cliquer sur une exponentielle, pointer la souris juste au dessus du
  278. coin en haut à droite et cliquer.
  279. Par exemple, dans
  280.                                             2
  281.                                      (x + y)
  282.  
  283. pointer juste au dessus de ')' et cliquer.
  284.  
  285. Vous remarquerez, en haut à gauche du menu les fonctions 'Simplifie' et
  286. 'Distribue'. Ces opérations sont très pratiques pour réduire une longue
  287. expression compliquée. Après une division polynomiale ('Div Poly') par
  288. exemple, j'exécute alternativement 'Distribue' et 'Simplifie' jusqu'à
  289. ce que plus rien ne change.
  290.  
  291. Ce programme ne supporte pas directement les opérateurs négatifs; c'est
  292. pourquoi, au lieu de taper -x, on doit taper -1*x.
  293. Il ne supporte pas non plus les racines; ainsi, pour dire sqrt(x), on devra
  294. écrire x^0.5
  295.  
  296. Toutes les valeurs numériques sont stockées sous forme de nombres à
  297. virgule flottante sur 8 octets selon la norme IEEE (double précision).
  298. Ceci autorise à avoir des nombres à 16 digits avec un exposant entre
  299. -307 et +307.
  300. Alged ne délivre que 15 digits, car le dernier n'est souvent pas juste.
  301. Ceci amène parfois à des situations où des nombres qui apparaissent comme des
  302. entiers n'en sont pas en fait. Par exemple, on peut voir 1*x et, quand on
  303. le simplifie avec 'Simplifie', cela ne change pas la valeur de x. Pour
  304. corriger cela, utiliser la fonction 'Entiers', et les digits erronés
  305. sont éliminés. Un petit mot de précaution : si votre problème utilise de
  306. très petits nombres, tels que 1.23e-10, il ne faut pas utiliser la fonction
  307. 'Entiers' qui retirerait tous les chiffres significatifs.
  308. Les symboles spéciaux suivants sont reconnus :
  309.       pi = 3.14159265358979292
  310.       e =  2.71828182845904509
  311.  
  312. Alged permet d'utiliser toute fonction ayant jusqu'à 5 arguments.
  313. Cependant, seules les fonctions suivantes sont reconnues dans les
  314. calculs et dans les graphiques :
  315.   Avec un argument :
  316.                     sin, cos, tan, acos, asin, atan, cosh, sinh,
  317.                     tanh, ln (base e), log (base 10), abs, rand, sign.
  318.   Avec deux arguments :
  319.                         min, max, r, mod, atan2.
  320. Les fonctions trigonométriques sont en radians. La fonction r(x,y) utilise
  321. la fonction 'hypot' en C qui est égale à (x^2 + y^2)^0.5 qui est l'hypoténuse.
  322. La fonction atan2(y,x) est l'angle (en radians, de -pi à pi) de la ligne
  323. joignant (x,y) à l'origine.
  324.  
  325. Les noms des variables peuvent aller jusqu'à 24 caractères. Par contre, le
  326. nom des fonctions est limité à 7 caractères. Ceci est du au fait que les
  327. pointeurs des paramètres utilisent une partie de la mémoire.
  328.  
  329. La variable spéciale "i" est reconnue comme la racine carrée de -1.
  330. De la sorte, i*i est simplifié en -1. De même, i^7.3 devient -1*1^1.3.
  331.  
  332. Les nombres imaginaires sont supportés dans les exponentielles, (1+2i)^3
  333. est évalué comme
  334. 2.24^3*(cos(1.11*3) + i*sin(1.11*3)) soit -11-2i.  J'ai utilisé la
  335. convention dans laquelle -pi<theta<=pi. Les nombres imaginaires ne sont pas
  336. calculés dans des fonctions comme sin(*i)
  337.  
  338. Les deux fonctions 'Calcule' et 'Simplifie' calculent des résultats
  339. numériques. Toutefois, la différence est que 'Simplifie' n'essaiera pas
  340. de faire le calcul sur des nombres entiers dont le résultat conduirait
  341. un nombre non entier. Par exemple, 4^0.5 n'est pas traité par 'Simplifie'
  342. mais l'est par 'Calcule'.
  343.  
  344. Quelques fonctions sur les polynômes ne marchent pas tant que l'expression
  345. n'a pas été d'abord complètement distribuée et simplifiée.
  346.  
  347. Vous pouvez vous exercer avec 'Associe et 'Coef Poly'. Ces opérations
  348. sont utiles dans de nombreux cas. 'Associe' va réarranger les
  349. additions / soustractions  ou les multiplications / divisions, ou =,
  350. en fonction de ce qui est sélecté à ce moment là.
  351.  
  352. La fonction 'Fact-Poly' peut être très longue à exécuter. Sur un 486DX-33,
  353. la mise en facteurs d'un polynôme du 4ème degré peut prendre 15 secondes.
  354. En général, je dois admettre que je n'ai pas essayé d'optimiser les
  355. performances d'Alged. C'était déjà assez difficile de faire le programme.
  356.  
  357. Personnalisation :
  358.  
  359. Le menu d'Alged et les autres messages du programme sont stockés dans le
  360. fichier ALGEDFRA.MNU (pour la version française). On peut le personnaliser
  361. en utilisant un programme éditeur de texte. On peut changer la taille et
  362. la disposition du menu, les touches de fonctions, ou n'importe quelle
  363. partie du texte. On peut traduire ce fichier dans une autre langue (ce
  364. qui a été fait pour la version française). Si vous le faites, renvoyez moi
  365. la version traduite pour que je puisse la distribuer !
  366. Quand Alged démarre, il charge en mémoire le fichier ALGEDxyz.MNU à
  367. partir du répertoire en cours, où xyz est la valeur indiquée pour le
  368. langage et spécifiée dans le paramètre ?l du fichier ALGED.1ST.
  369. Si l'option ?l n'est pas spécifiée dans ALGED.1ST ou dans aucun autre
  370. fichier texte, le fichier de base en anglais ALGED.MNU est chargé.
  371.  
  372. Notes finales :
  373.  
  374. Une dernière note sur la fiabilité. Ce programme a été mis à la disposition
  375. de tous comme le résultat d'un développement pour le plaisir et n'est
  376. pas fiable. Vous devrez vérifier les réponses en refaisant si possible
  377. l'opération à l'envers. Vous devrez sauvegarder souvent votre travail
  378. pour éviter tout problème. Quand j'ai développé ce programme, il m'est
  379. souvent arrivé de bloquer le système. Je n'avais plus qu'à remettre la
  380. machine sous tension pour la faire repartir ! Soyez prudents, surtout
  381. sur des opérations très longues telles  que 'Fact-Poly'.
  382.  
  383. "Voici ce que dit le Seigneur :'Ne laissez pas l'homme sage se vanter de sa
  384. sagesse ou l'homme fort se vanter de sa force, ou l'homme riche se vanter
  385. de ses richesses, mais faites que celui qui se vante, se vante de ceci :
  386. qu'il soit celui qui me comprend et me connaît, que je suis le Seigneur,
  387. qui suis la bonté, la justice et la droiture sur terre, car c'est là ma
  388. joie,' dit le Seigneur." Jérémie 9.23-24
  389.  
  390. Fin du texte de l'aide.  Appuyer sur n'importe quelle touche pour revenir
  391.